linux 打印输出格式化

第一种方法:column -t 可对文本格式化打印

第二种方法:awk printf \n命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
admin@FFing-DSM:~/test$ cat temp/user.list.temp 
NO.     用户名  shell类型       状态
1       admin   /bin/sh         启用
2       aliyundrive-webdav      /sbin/nologin           禁登
3       anonymous       /usr/bin/nologin                禁登
4       Audiobookshelf  /sbin/nologin           禁登
5       AudioStation    /sbin/nologin           禁登
6       avahi   /bin/false              启用
7       bind    /usr/bin/nologin                禁登
8       BrowserBox      /sbin/nologin           禁登
9       CloudSync       /sbin/nologin           禁登

admin@FFing-DSM:~/test$ cat temp/user.list.temp |awk '{printf " %-30s %-30s %-30s\n",$1,$2,$3,$4}'
 admin                          /bin/sh                        启用                            
 aliyundrive-webdav             /sbin/nologin                  禁登                            
 anonymous                      /usr/bin/nologin               禁登                            
 Audiobookshelf                 /sbin/nologin                  禁登                            
 AudioStation                   /sbin/nologin                  禁登                            
 avahi                          /bin/false                     启用                            
 bind                           /usr/bin/nologin               禁登                            
 BrowserBox                     /sbin/nologin                  禁登                            
 CloudSync                      /sbin/nologin                  禁登                            
 daemon                         /bin/sh                        启用 

 ###printf参数解析,注意添加\n参数
 %-30s         -表示左对齐,30s宽度
 \n            换行,否则会打印到一行